package com.company.class6;

import com.company.class4.Washmachine;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.WeakHashMap;

/**
 * @Classname SetTest
 * @Description 类型说明
 * @Date 2022/4/24 19:23
 * @Created by zbw
 */

public class SetTest {
    public static void main(String[] args) {
        //创建
        Set<String> set = new HashSet<>();
        Set<Washmachine> wset = new HashSet<>();

        //增删改查
        //set中不允许出现重复的数据
        set.add("roy");
        set.add("will");
        set.add("zbw");
        //set的存储是无序的
        System.out.println(set);
        //删
        set.remove("zbw");
        set.remove("abc");
        System.out.println(set);

        //改：由于set没有下标，所以不存在所谓的修改。

        //查：由于set没有下标，所以也不存在所谓的查
        //遍历
        //增强型循环foreach遍历每个元素
        String forset ="[";
        for (String s : set) {
            forset += s+"啦啦,";

        }
        forset += "]";
        System.out.println(forset);

        //迭代器
        Iterator<String> boss = set.iterator();
        System.out.println("set长度是："+set.size());
        //通过长度，进行取值遍历
        //千万注意边界值
//        for (int i=0;i<set.size();i++) {
//            System.out.println(boss.next()+"哈哈");
//        }
//        System.out.println(boss.next());
        //如果在迭代器取下一个值的时候，已经取完了，就会报出NoSuchElementException的异常
//        System.out.println(boss.next());

        //通过hasNext判断是否有下个值
        //由于上一圈已经取完了所有值，所以这里执行会没有next了
        System.out.println("判断之后取值：");
        //通过while循环判断进行遍历
        while (boss.hasNext()){
            System.out.println(boss.next());
        }

    }
}
